//初始化用户列表

layui.use(['layer', 'datatable', 'datatableButton', 'datatableFlash', 'datatableHtml5', 'datatablePrint', 'datatableColVis', 'datatableSelect'], function() {
  var $ = layui.jquery,
    layer = layui.layer;
  // oSort是排序类型数组, 'chinese-asc'是自己定义的类型的排序(*-asc || *-desc)名称
  // 插件应该会根据表格中的内容的类型(string, number, chinese)进行比较排序，
  // 如果以chinese类型来排序则用oSort['chinese-asc']和oSort['chinese-desc']的方法
  // oSort对应的function里面自定义比较方法
  $.fn.dataTableExt.oSort['chinese-asc'] = function(x, y) {
    //javascript自带的中文比较函数，具体用法可自行查阅了解
    return x.localeCompare(y);
  };

  $.fn.dataTableExt.oSort['chinese-desc'] = function(x, y) {
    return y.localeCompare(x);
  };
  // aTypes是插件存放表格内容类型的数组
  // reg赋值的正则表达式，用来判断是否是中文字符
  // 返回值push到aTypes数组，排序时扫描该数组，'chinese'则调用上面两个方法。返回null默认是'string'
  $.fn.dataTableExt.aTypes.push(
    function(sData) {
      var reg = /^[\u4e00-\u9fa5]{0,}$/;
      if(reg.test(sData)) {
        return 'chinese';
      }
      return null;
    }
  );
  $(document).ready(function() {
	
/*var storage=window.localStorage;
var adminId = storage.getItem("adminId");*/
    var myTable = $('#userTable').DataTable({
      "processing": false, //DataTables载入数据时，是否显示‘进度’提示  
      "stateSave": true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态  
      "scrollCollapse": true, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变  
      "paginationType": "full_numbers", //详细分页组，可以支持直接跳转到某页  
      "language": lang, //提示信息
      "autoWidth": false, //自适应宽度，
      "lengthMenu": [20, 30, 50],
      "stripeClasses": ["odd", "even"], //为奇偶行加上样式，兼容不支持CSS伪类的场合
      "searching": false, //是否允许Datatables开启本地搜索
      "paging": true, //是否开启本地分页
      "lengthChange": true, //是否允许产品改变表格每页显示的记录数
      "info": false, //控制是否显示表格左下角的信息
      //跟数组下标一样，第一列从0开始，这里表格初始化时，第四列默认降序
      "order": [0, 'asc'], //asc升序   desc降序 
      "aoColumnDefs": [{
        "orderable": false,
        "aTargets": [1,2,3,4,5,6] // 指定列不参与排序
      }],
      "deferRender": true, //延迟渲染
      //"ajax":"json/device.json",
      "ajax": {
      	url : url + '/ic-iot/admin/'+adminId+'/users',//users
				type : 'get',
				data:{
					"currentPage":1,
					"pageSize":999,
				},
				dataType : 'json',
				beforeSend: function(request) {
            request.setRequestHeader("accessToken", accessToken);
        },
				success : function(data) {
					if(data['code'] == 1){
						if(data.result.length != 0)
							$('#userTable').dataTable().fnAddData(data.result);
						else
							$('#userTable').dataTable().fnClearTable();
					}else{
						ifajax(data);
					}
				}
      }, //数据的路径 "http://192.168.5.133:8081/ic-iot/admin/'+adminId+'/devices" /"json/device.json"
      /*select: { //单击tr选中当前行
        style: 'multi'
      },*/
      "columns": [{ //定义列
        "data":"riwso",
        "render":function(data, type, full, meta ){
        	return (meta.row+1);
        },
        "sTitle": "序号", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": "userName",
        "sTitle": "用户名", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": "userPhone",
        "sTitle": "手机号", //标题
        "sType": 'chinese',
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": "companyName",
        "sTitle": "公司", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, /*{
        "data": "deviceName",
        "sTitle": "公司", //标题//标题
       
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },*/ {
        "data":"userEmail",
        "sTitle": "邮箱", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": function(obj) {
           return replaceTime(obj.createTime / 1000)+'<span type="checkbox" hidden="hidden" id=' + obj.deviceId + '></span>';
        },
        "sTitle": "创建时间", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },/* {
        "data": "email",
        "sTitle": "邮箱", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": "address",
        "sTitle": "地址", //标题
        "sType": 'chinese',
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": function(obj) {
          return replaceTime(obj.joinTime / 1000);
        },
        "sTitle": "加入时间", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": function(obj) {
          if(obj.status) {
            return '<span class="label label-success radius">已启用</span>';
          } else {
            return '<span class="label label-default radius">已停用</span>';
          }
        },
        "className": "td-status",
        "sTitle": "状态", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },*/ {
        "data": function(obj) {
         	return '<span title="查看" data='+obj.userId+' class="handle-btn handle-btn-edit"><i style="color:#5ebdc7; font-size:20px;" class="layui-icon">&#xe60a;</i></span><span title="编辑" data='+obj.userId+' class="handle-btn handle-btn-updatepwd"><i style="color:#5ebdc7;" class="linyer icon-edit"></i></span><span title="删除" id='+obj.userId+' class="handle-btn handle-btn-delect"><i style="color:#5ebdc7;" class="linyer icon-delect"></i></span>';
          
          //<span title="启用" class="handle-btn handle-btn-run"><i class="linyer icon-qiyong"></i></span>
        },
        "className": "td-handle",
        "sTitle": "操作", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }]
    });
    /**
     * 添加falsh
     */
    $.fn.dataTable.Buttons.swfPath = "js/dataTables/extensions/Buttons/swf/flashExport.swf";
    $.fn.dataTable.Buttons.defaults.dom.container.className = 'tableTools-box';
    /**
     * 操作栏
     */
    
    //console.log(myTable);
    myTable.buttons().container().appendTo($('.tableTools'));
    /**
     * 显示隐藏列
     */
    var defaultColvisAction = myTable.button(0).action();
    myTable.button(0).action(function(e, dt, button, config) {
      defaultColvisAction(e, dt, button, config);
      if($('.dt-button-collection > .dropdown-menu').length == 0) {
        $('.dt-button-collection')
          .wrapInner('<ul class="dropdown-menu" />')
          .find('a').attr('href', 'javascript:;').wrap("<li />")
      }
      $('.dt-button-collection').appendTo('.tableTools-box')
    });
    /**
     * 复制到剪贴板
     */
    var defaultCopyAction = myTable.button(1).action();
    myTable.button(1).action(function(e, dt, button, config) {
      defaultCopyAction(e, dt, button, config);
    });
    /**
     * 选择
     */
    myTable.on('select', function(e, dt, type, index) {
      if(type === 'row') {
        $(myTable.row(index).node()).find('input:checkbox').prop('checked', true);
      }
    });
    /**
     * 取消选择
     */
    myTable.on('deselect', function(e, dt, type, index) {
      if(type === 'row') {
        $(myTable.row(index).node()).find('input:checkbox').prop('checked', false);
      }
    });
    /**
     * 根据表头复选框 选择/取消选择所有行
     */
    $(document).on('click', '#userTable > thead > tr > th input[type=checkbox],#userTable > tfoot > tr > th input[type=checkbox]', function() {
      var th_checked = this.checked;
      $('#userTable').find('tbody > tr').each(function() {
        var row = this;
        if(th_checked) myTable.row(row).select();
        else myTable.row(row).deselect();
      });
    });
    /**
     * 选中/取消选中复选框时 选中/取消选中一行
     */
    $(document).on('click', '#userTable tbody td input[type=checkbox]', function() {
      var row = $(this).closest('tr').get(0);
      if(!this.checked) myTable.row(row).deselect();
      else myTable.row(row).select();
    });
    $(document).on('click', '#userTable tbody td', function() {
      var row = $(this).closest('tr').get(0);
    })
  });
 
  /*上方用户添加*/
  $("#btn-adduser").on('click',function() {
    var obj = $(this);
    layer_show('添加用户', 'user_add.html', '', '500', '450');
  });
	


  /*用户-查看*/
 $('.table-sort').on('click', '.handle-btn-edit',  function() {
			//var username = $(this).html();
			var userId = $(this).attr("data");
			var username = '用户信息';
    	var href = 'PersonalData.html?userId='+userId;
    	var index = layer.open({
	    	type:2,
	    	title:username,
	    	fixed:false,
	    	maxmin:false,
	    	area:['100%','100%'],
	    	content:href,
    	});	
    	layer.full(index);
});
  /*用户编辑*/
  $('.table-sort').on('click', '.handle-btn-updatepwd', function() {
    var userId = $(this).attr("data");
    layer_show('用户编辑', 'monitoring_details.html?userId='+userId, '', '500', '450');
  });
  /*用户-删除*/
  $('.table-sort').on('click', '.handle-btn-delect', function() {
  		var obj = $(this);
    	userId  = obj.context.id;
    layer.confirm('确认要删除吗？', {
      icon: 0,
      title: '警告',
      shade: false
    }, function(index) {
      $.ajax({
				url : url + '/ic-iot/users/'+userId,
				type : 'delete',
				dataType : 'json',
				beforeSend: function(request) {
            request.setRequestHeader("accessToken", accessToken);
        },
				success : function(data) {
		      if(data['code'] == 1){
						$(obj).parents("tr").remove();//删除方法
						layer.msg('已删除!', {
			        icon: 1,
			        time: 1000
			      });
					}else{
						ifajax(data);
					}
				}
			});
      
    });
  });
  
  /*用户查询*/
   $("#user_demand").bind('click',function(){
  	var userName = $("#userName").val();
  	$.ajax({
			url : url + '/ic-iot/admin/'+adminId+'/users',
			type : 'get',
			data:{
					"currentPage":1,
					"pageSize":999,
					"userName":userName,
				},
			dataType : 'json',
			async:false, 
			beforeSend: function(request) {
	      request.setRequestHeader("accessToken", accessToken);
	    },
			success : function(data) {
				if(data['code'] == 1){
					$('#userTable').dataTable().fnClearTable();
					$('#userTable').dataTable().fnAddData(data.result);
				}else{
					ifajax(data);
				}
			}
		});
  })
  
  
});